Skip to content
This repository was archived by the owner on Jul 29, 2025. It is now read-only.

Add Flake Dev Environment and Optional Package Output #235

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

conneroisu
Copy link

TLDR;;
Added a flake.nix and lock file containing pinned dependencies for working on the project.

This pull request introduces Nix-based environment management for the project, including a development shell and build system configuration. The changes focus on setting up a reproducible development environment and defining build and formatting processes using Nix flakes.

Environment setup:

  • .envrc: Added support for nix-direnv to automatically load the development environment defined in flake.nix. This includes watching flake.nix and flake.lock for changes and providing feedback if the environment cannot be loaded.

Nix flake configuration:

  • flake.nix: Defined a Nix flake with the following features:
    • Development shell: Configured tools and scripts for Go development, including building, running, testing, and linting the project. Tools like golangci-lint, gopls, and cobra-cli are included.
    • Build system: Set up a Go-based build process using buildGo124Module, specifying metadata like project description, homepage, and license.
    • Formatter: Added a formatter configuration (nix fmt) with support for alejandra (Nix files) and gofmt (Go files).

@conneroisu conneroisu changed the title Add Flake Dev Environment an Optional Package Output Add Flake Dev Environment and Optional Package Output Jun 14, 2025
Added a flake.nix and lock file containing pinned dependencies for working on the project.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant